package cn.com.huzo.repository.manufacture;

import cn.com.huzo.model.entities.manufacture.CmtSettlementSlipHeaderEntity;
import cn.com.huzo.model.entities.manufacture.CmtSettlementSlipLinesEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 加工费计算明细访问对象接口。
 *
 * @author 吴旭
 */
public interface CmtSettlementSlipLinesRepository extends GenericRepository<CmtSettlementSlipLinesEntity, String> {

    /**
     * 根据加工费计算标识取得加工费计算明细。
     *
     * @param headerId 加工费计算标识
     * @return 加工费计算明细
     */
    List<CmtSettlementSlipLinesEntity> fetchByHeaderId(Long headerId);

    /**
     * 插入加工费计算明细。
     *
     * @param instance 主表中计算年月等条件
     * @return 影响行数
     */
    Integer insertLinesByNormal(CmtSettlementSlipHeaderEntity instance);

    /**
     * 强制结算 新增加工费计算明细。
     *
     * @param criterion 选择的加工合同标识等条件
     * @return 影响行数
     */
    Integer insertLinesByHandCut(Map<String, Object> criterion);
}
